package com.enjoyor.soa.traffic.api.service.dubbo.bigdata;

import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

import java.util.List;

/**
 * 出入案发现场车辆分析服务
 */
public interface DubboAnalyzeCrimePlaceService {
	/**
	 *
	 * @param token
	 * @param licenseType
	 * @param licenseNum
	 * @param points 以逗号隔开 100,200,300
	 * @param startTime yyyy-MM-dd HH:mm:ss
	 * @param endTime  yyyy-MM-dd HH:mm:ss
	 * @param page
	 * @return page CrimePlaceVehicleDto
	 */
	public ResultPojo analyzeCrimePlaceVehicle(String token,String licenseType, String licenseNum, List<String> points,
								String midTime,  String startTime, String endTime, Page page);

	/**
	 *
	 * @param token
	 * @param licenseType
	 * @param licenseNum
	 * @param points 以逗号隔开 100,200,300
	 * @param startTime yyyy-MM-dd HH:mm:ss
	 * @param endTime yyyy-MM-dd HH:mm:ss
	 * @param startData
	 * @param endData
	 * @return list CrimePlaceVehicleDto
	 */
	public ResultPojo expCrimePlaceVehicle(String token,String licenseType, String licenseNum, List<String> points,
										   String midTime,	 String startTime, String endTime, int startData, int endData);

	/**
	 *距离案发现场最近的出行路线
	 * @param token
	 * @param pointLists
	 * @param midTime
	 * @param btime
	 * @param etime
	 * @param licenseType
	 * @param licenseNum
	 * @return
	 */
	public  ResultPojo  getLastTrack(String token,List<String> pointLists, String midTime, String btime, String etime, String licenseType, String licenseNum);

	/**
	 * 出入案发现场车是否是首次入城车
	 * 由于用于精确查找，因此所有参数均不能为空
	 * 默认结果是false
	 *
	 * @param bdate   format:yyyy-MM-dd
	 * @param edate
	 * @param license 号牌类型和号牌号码的组合，例子：类型2，号码赣A12345，组合成：2赣A12345
	 * @return
	 */
	public  ResultPojo getCrimeVehicleIsFirstInto(String token,String bdate, String edate, String license);

}
